package com.xyh.jvmDemo;

import com.xyh.jdkDemo.ActionDemo;
import sun.misc.Launcher;

import java.net.Socket;
import java.net.URL;
import java.security.Provider;

/**
 * @version v1.0
 * @类描述：
 * @项目名称：
 * @包名： com.xyh.jvmDemo
 * @类名称：ClassloderDemo
 * @创建人：YIHANG.XU
 * @创建时间：2020/5/267:59 下午
 * @修改人：YIHANG.XU
 * @修改时间：2020/5/267:59 下午
 * @修改备注：
 * @Copyright
 */
public class ClassloderDemo {
    public static void main(String[] args) {
        //系统类加载器
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println("系统类加载器" + systemClassLoader);

        //系统类加载器父类加载器 拓展加载器
        ClassLoader parent = systemClassLoader.getParent();
        System.out.println("拓展类加载器" + parent);
        //拓展加载器父类 根加载器 但是java 获取不到
        ClassLoader parent1 = parent.getParent();
        System.out.println("根类加载器" + parent1);
        //自定义
        ClassLoader classLoader = ActionDemo.class.getClassLoader();
        System.out.println("自定义方法类加载器" + classLoader);
        //官方
        ClassLoader classLoader1 = Object.class.getClassLoader();
        System.out.println(classLoader1);
        //获取系统类加载路径
        System.out.println(System.getProperty("java.class.path"));
        //什么是双亲委派机制，就是当自己出的包在拓展加载器或是在根加载器中存在就会直接使用根加载中的包 为了安全性


    }

}
